package com.marktotop.service;

import com.marktotop.entity.Admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.marktotop.entity.Role;
import com.marktotop.response.ResultBean;

import javax.servlet.http.HttpServletRequest;
import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author marktotop
 * @since 2021-05-23
 */
public interface IAdminService extends IService<Admin> {

    /**
     * 用户登录之后，返回Token
     *
     * @param username 用户名
     * @param password 密码
     * @param request
     * @return
     */
    ResultBean login(String username, String password, HttpServletRequest request);

    /**
     * 根据用户名获取信息，返回Admin对象
     *
     * @param loginName 登录用户名
     * @return
     */
    Admin getProfileByUsername(String loginName);


    /**
     * 根据用户id查询对应的角色列表
     *
     * @param adminId
     * @return
     */
    List<Role> getRoles(Integer adminId);

    /**
     * 获取所有操作员
     * @param keywords
     * @return
     */
    List<Admin> getAllAdmins(String keywords);

    /**
     * 更新操作员角色
     * @param adminId
     * @param rids
     * @return
     */
    ResultBean updateAdminRole(Integer adminId, Integer[] rids);

    /**
     * 更新当前登录管理员密码
     *
     * @param adminId
     * @param oldPass
     * @param newPass
     * @return
     */
    ResultBean updateAdminPass(Integer adminId, String oldPass, String newPass);
}

